package org.dromara.article.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.util.Date;

/**
 * 文章表
 */
@Data
@TableName(value = "article")
public class Article {

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 文章标题
     */
    @TableField(value = "title")
    private String title;

    /**
     * 文章状态（0：未领取 1：已领取 2：废弃）
     */
    @TableField(value = "`status`")
    private Integer status;

    /**
     * 发布状态 0：未发布 1：已发布
     */
    @TableField(value = "is_published")
    private Integer isPublished;

    /**
     * 文章分类ID
     */
    @TableField(value = "type_id")
    private Integer typeId;

    /**
     * 领取人
     */
    @TableField(value = "user_id")
    private Long userId;

    /**
     * 文章链接
     */
    @TableField(value = "link")
    private String link;

    /**
     * 废弃原因
     */
    @TableField(value = "dis_reason")
    private String disReason;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(value = "update_time")
    private Date updateTime;

    /**
     * 领取时间
     */
    @TableField(value = "collection_time")
    private Date collectionTime;

    /**
     * 备注
     */
    @TableField(value = "remark")
    private String remark;

    /**
     * 创建者
     */
    @TableField(value = "created_by")
    private Long createdBy;

    /**
     * 更新者
     */
    @TableField(value = "updated_by")
    private Long updatedBy;

    /**
     * 删除者
     */
    @TableField(value = "deleted_by")
    private Long deletedBy;

    /**
     * 文件位置
     */
    @TableField(value = "disk_path")
    private String diskPath;

    /**
     * 发布时间
     */
    @TableField("published_time")
    private Date publishedTime;

    /**
     * 废弃时间
     */
    @TableField("discarded_time")
    private Date discardedTime;
}
